package com.List;

import java.util.ArrayList;
import java.util.List;

/**
 * List独有API
 */

public class ListDemo1 {
    public static void main(String[] args) {
        //1.创建一个ArrayList对象（使用多态的方式并使用泛型）使用多态也更规范
        //使用多态的好处：当你想创建List其他的子类对象，可以直接改右边的ArrayList为LinkedList就可以了
        //list：有序，可重复、有索引
        List<String> list=new ArrayList<>();//行内一般这样写
        list.add("java");
        list.add("java");//可添加重复元素
        list.add("python");
        list.add("scala");
        list.add("js");
        System.out.println(list);
        //[java, java, python, scala, js]而且是有序的

        //List特有API

        //1.在某个索引位置插入元素，插入位置的元素往后面移（add）
        list.add(2,"springBoot");
        System.out.println(list);
        //[java, java, springBoot, python, scala, js]

        //2.根据索引删除元素、返回被删除元素（remove）
        list.remove(list.size()-1);
        System.out.println(list);
        //[java, java, springBoot, python, scala, js]
        //[java, java, springBoot, python, scala]

        //3.根据索引获取元素（get）
        String s = list.get(0);
        System.out.println(s);
        //java

        //4.修改索引位置元素（set）,返回被修改值
        String javaPlus = list.set(1, "javaPlus");
        System.out.println(javaPlus);
        //java
        System.out.println(list);
        //[java, java, springBoot, python, scala]
        //[java, javaPlus, springBoot, python, scala]


    }
}
